#ifndef CClientPointMng_H
#define CClientPointMng_H
/********************************************************************************
** @ Date:2025/05/20
** @ Author: HanJiaXin
** @ Description:客户端测点管理界面
** @ Version:1.0.0
** @ ClassName:CClientPointMng
** @ Fun:
********************************************************************************/

#include <QWidget>
#include <QStandardItemModel>
#include "ui_cclientpointmng.h"
#include "cclientdata.h"

class CClientPointMng : public QWidget
{
	Q_OBJECT

public:
	CClientPointMng(CClientData* pClient,QWidget *parent = nullptr);
	~CClientPointMng();
	
private:
	void initConnect();//初始化槽函数连接
	void initUi();//初始化界面元素
	void loadPointList();//加载测点列表
	void updatePageInfo();        // 更新页码显示
	void updateButtonStates();//更新按钮状态
    void setFilter(const QString& sFilterText);//设置筛选函数

private slots:
	void slotComboBoxPageSizeChanged(const QString& sSize);//下拉框变化槽函数
	void slotPushButtonPre();//点击上一页
	void slotPushButtonNext();//点击下一页
	void slotPushButtonJump();//点击跳转页面
    void slotPushButtonFilter();//筛选按钮槽函数
	void slotPushButtonExport();//点击导出按钮

private:
	Ui::CClientPointMngClass ui;
	CClientData* m_pClient;
	QStandardItemModel* m_pModel; //表格数据集
	int m_nCurrentPage;//当前页码
	int m_nPageSize;//每页显示的数量
	int m_nTotalPages;

    QString m_sFilterText;//筛选条件
    QVector<CTagData*> m_vecFilterTags;//筛选结果缓存
};
#endif
